package com.profgj.profgj.validater;

import com.profgj.profgj.entity.System;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;

public class SystemValidator implements Validator {

    /**
     * 类型校验
     * @param clazz    类对象
     * @return
     */
    @Override
    public boolean supports(Class<?> clazz) {
        // 类型比对
        return clazz.equals(System.class);
    }

    /**
     * 验证逻辑
     * @param target    目标对象
     * @param errors    错误信息保存对象
     */
    @Override
    public void validate(Object target, Errors errors) {

        // 判断对象是否为空
        if(target == null) {
            errors.rejectValue("",null,"计量单位对象不能为空");
        }

        // 强制转换
        System system = (System)target;
        // 判断字段是否为空
        if(system.getCopyright().isEmpty()) {
            errors.rejectValue("Copyright",null,"版权信息不能为空");
        }

        // 判断字段是否为空
        if(system.getBusinesslicense().isEmpty()) {
            errors.rejectValue("Businesslicense",null,"营业执照不能为空");
        }
        // 判断字段是否为空
        if(system.getRecord().isEmpty()) {
            errors.rejectValue("Businesslicense",null,"备案信息不能为空");
        }

        // 判断字段是否为空
        if(system.getTitle().isEmpty()) {
            errors.rejectValue("Title",null,"网站标题不能为空");
        }
        // 判断字段是否为空
        if(system.getLoginTitle().isEmpty()) {
            errors.rejectValue("LoginTitle",null,"登录页标题不能为空");
        }


    }
}
